package com.zhuhao.design_mode.creational_pattern.builder_pattern;

/**
 * 解决了 "多参数构造器" 的可读性问题（无需记住参数顺序，链式调用）。
 * 灵活支持可选参数，无需定义多个重载构造器。
 * 保证对象创建过程的一致性和完整性。
 *
 * @Author haozhu7
 * @Date 2025/11/13 10:23
 **/
public class BuilderDemo {
    public static void main(String[] args) {
        // 1. 构建一个
        User user1 = new UserBuilder()
                .password("password1")
                .build();

        // 2. 构建（链式调用）
        User user2 = new UserBuilder()
                .nickname("李四")       // 设置昵称
                .age(25)               // 设置年龄
                .email("lisi@example.com")  // 设置邮箱
                .build();  // 最终构建对象

        // 打印结果
        System.out.println("用户1: " + user1);
        System.out.println("用户2: " + user2);
    }
}